Mobile phone robot

ABSTRACT

A mobile phone robot is able to perform multi-touch operations on a mobile phone. A fastener holds a mobile phone stationary relative to the mobile phone robot. A first robot arm subsystem controls location and timing of contact of a first stylus tip with a touchscreen of the mobile phone. A second robot arm subsystem controls location and timing of contact of a stylus tip with a touchscreen of the mobile phone. Screen mirroring technology is used to capture images displayed by the mobile phone. Control circuitry controls the first robot arm subsystem and the second robot arm subsystem. The control circuitry processes the images captured by the screen mirroring technology to detect text displayed within the image and to detect layout of the image.

BACKGROUND

Smartphones are useful and productive tools to accomplish a wide variety of tasks. There are times, however, when utilizing a smartphone phone “hands free” is useful or necessary. For example, many jurisdictions allow only hands-free use of mobile phones when driving. Some people may have limited use of their hands because of injury and handicap.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows an enclosure for a mobile phone robot in accordance with an implementation.

FIG. 2 shows a cut-away view of an upper body for a mobile phone robot in accordance with an implementation.

FIG. 3 and FIG. 4 show additional detail of an upper body of a mobile phone robot in accordance with an implementation.

FIG. 5 and FIG. 6 show details of robot arm subsystems able to perform multi-touch operations on a touchscreen or a keyboard of a mobile phone, in accordance with an implementation

FIG. 7 and FIG. 8 show detail of a lower body of a mobile phone robot in accordance with an implementation.

FIG. 9 and FIG. 10 illustrates attachment of a mobile phone robot to a mobile phone in accordance with an implementation.

FIG. 11 is a simplified flow diagram that illustration calibration of robot arm coordinates for a mobile phone robot in accordance with an implementation.

FIG. 12 is a simplified flow diagram that a mobile phone robot communicating remotely through the Internet to a cloud server of a cloud computing service provider in accordance with an implementation.

FIG. 13 is a simplified flowchart illustrating calibration of a robot arm coordinates for a mobile phone robot in accordance with an alternative implementation.

FIG. 14 is a simplified diagram illustrating calibration of a robot arm coordinates for a mobile phone robot in accordance with an alternative implementation.

DETAILED DESCRIPTION

FIG. 1 shows a mobile phone robot that has an upper body 51 and a lower body 98 that together create an enclosure that holds a mobile phone inside and operates the mobile phone. Upper body 51 includes a fixed chamber 1 that has a smart camera subsystem fixed inside. Chamber 1 has openings to accommodate attachment and communication. For example, the openings include a USB slot 49, a microphone opening 45 and a speaker opening 47. USB slot 49 is used to attach a USB cable that includes a power supply that provides power to the mobile phone robot. A microphone opening 45 allows a microphone integrated within the mobile phone robot to pick up voice input and detect other sounds. Speaker opening 47 allows a speaker integrated within the mobile phone robot to broadcast a synthesized voice and other sounds.

FIG. 2 shows a sectional view of an exemplary construction of upper body 51. Upper body 51 has an outer enclosure 3. A smart camera system fixed inside upper body 51 includes a camera lens module 9. Upper body 51 also has robot arm subsystems 20 embedded inside.

A main electronics circuit board 7 includes integrated circuits electronic components that implements a controller that running software controls operation of the mobile phone robot. The integrated circuits electronic components include one or more processors and data storage. Additionally, integrated circuits electronic components include audio technology to control a speaker and microphone incorporated as part of the mobile phone robot. The integrated circuitry components also include, for example, wireless communication technology such as Bluetooth technology, Wi-Fi technology and/or 4G/5G wireless data technology.

FIG. 3 shows another view of upper body 51. Robot arm subsystems 20 are shown. Also shown is a plastic ring structure 5 for fixing and supporting a smart camera subsystem.

FIG. 4 shows a bottom-up view of upper body 51, which reveals more details of the inside structure of upper body 51. The smart camera subsystem is shown to include camera lens module 9 mounted on main electronics circuit board 7. Robot arm subsystems 20 are fixed to the sidewall of upper body 51 and plastic ring structure 5.

FIG. 4 shows robot arm subsystem 20 includes a robot arm 13, a robot arm 15 and a robot arm 11. Robot arm 13 is located along a direction corresponding to the long side of a mobile phone mounted within the mobile phone robot. Robot arm 15 is located along a direction corresponding to the short side of a mobile phone mounted within the mobile phone robot. Robot arm 11 is located along a direction corresponding to a face of a mobile phone mounted within the mobile phone robot. Controlling electronics for robot arm subsystem 20 are included on main electronics circuit board 7. Cables 12 are connected between main electronics circuit board 7 and robot arm subsystem 20. Control signals from main electronics circuit board 7 are sent to robot arm subsystem 20 via cables 12. Software running on circuitry within main electronics circuit board 7 provide the control signals.

FIG. 5 shows upper body 51 located on lower body 98. Also shown are two independently operated robot arm subsystems of robot arm subsystems 20. The first robot arm subsystem of robot arm subsystems 20 contains robot arm 13, robot arm 15 and robot arm 21. A stylus tip 11 is attached to robot arm 21. Robot arm 13, robot arm 15 and robot arm 11 control a location of stylus tip 11 with respect to a touchscreen display or keyboard of a mobile phone. Control motors within stylus tip 11 control motion toward and away from the touchscreen display or keyboard of a mobile phone mounted with the mobile phone robot. These control motors control contact between stylus tip 11 and the touchscreen display or keyboard of the mobile phone.

The second robot arm subsystem of robot arm subsystems 20 contains a robot arm 17, a robot arm 19 and a robot arm 25. A stylus tip 25 is attached to robot arm 21. Robot arm 17, robot arm 19 and robot arm 25 control a location of stylus tip 23 with respect to the touchscreen display or keyboard of a mobile phone. Control motors within stylus tip 25 control motion toward and away from the touchscreen display or keyboard of the mobile phone. These control motors control contact between stylus tip 23 and the touchscreen display or keyboard of the mobile phone.

Under the direction of software running on main electronics circuit board 7, robot arm subsystems 20 allow multi-touch operation of the touchscreen display or keyboard of the mobile phone similar to performance by fingers of a human hand. What is meant by multi-touch operations is where a touchscreen or a keyboard simultaneously recognizes more than one point of contact with the touchscreen or the keyboard. Multi-touch operation is implemented, for example, by stylus tip 11 and stylus tip 25 simultaneously being used to contact a touchscreen or a keyboard of a mobile phone.

For example, each robot arm includes a driving motor, a lead screw, and a lead nut. This is illustrated in FIG. 6 where robot arm 13 is shown to include a lead screw 35, a driving motor 37, and a lead nut 29. Also, robot arm 15 is shown to include a lead screw 31, a driving motor 33, and a lead nut 27. Likewise, robot arm 21 is shown to include a lead screw 43, a driving motor 41, and a lead nut 45.

FIG. 7 shows an exemplary construction of the lower body 98. Lower body 98 includes a moveable buckle clamp 123, a support structure 131, a support structure 133 and a clamp support structure 161 to clamp a mobile phone 103 firmly within lower body 98. For example, as shown, mobile phone 103 is a smartphone with a full length touchscreen display. A side ring 101 serves as a seal ring. Magnets 99 are embedded into side ring 101 to fix upper body 51 tightly on top of lower body 98 to form a rigid overall enclosure and structure. The magnetic bonds formed by Magnets 99 with ferromagnetic material at matching locations on upper body 51 ensure that upper body 51 is held securely and tightly on top of lower body 98 even when mobile phone robot is located within a moving vehicle. As will be understood by persons of the art, using clamps as described above is only one example. There are various ways to attach a mobile phone within a mobile phone robot including belts, screws, compressed springs, and other types of fasteners.

FIG. 8 shows lower body 98 with mobile phone 103 removed. Clamp support structure 161 is connected to an inner side wall of the lower body enclosure via springs 163. Springs 163 supply force to the lower side of mobile phone 103 to hold a mobile phone securely in place. Opposite clamp support structure 161 is movable buckle clamp 123 that can be fixed in location by one of the slots along a scale structure 121. The lots within scale structure 121 allow the distance between moveable buckle clamp 123 and clamp support structure 161 to be varied to fit mobile phones of different sizes. Instead of movable buckle clamp 123, other types of holding devices may be used to adjust the position of the mobile phone. These holding devices may include springs, moldable material, hooks, screws or other features, as will be understood by persons in the art.

The clamp structure formed by movable buckle clamp 123 and clamp support structure 161 holds a mobile phone securely in a long side direction. Another clamp structured is formed by a clamping piece 135 and a clamping piece 137. Clamping piece 135 and clamping piece 137 are each shaped as an L-shaped pad. Either or both of clamping piece 135 and clamping piece 137 may include gear teeth.

Clamping piece 135 and clamping piece 137 are joined by a gear 139 attached to a supporting tray 141. A motor 131 is attached to clamping piece 135 and a motor 133 is attached to clamping piece 137. A user can pull or push motor 131 and motor 133 to make clamping piece 135 and clamping piece 137 snugly hold a mobile phone along the short direction of the mobile phone. Motor 131 and motor 133 can be used to press side buttons on a mobile phone. Additional motors can be added if there is a need to press buttons on other sides (e.g., the lower side or the upper side) of the mobile phone.

Slots 151 are used to hold bottom of tray 141 at a desired location relative to side buttons of a mobile phone. A pair of buckle structures attach tray 141 at a desired slot location. Selecting the correct slot location allows tray 141 to be situated so that motor 131 and motor 133 are configured to be in position to press buttons on either side of a mobile phone. Instead of slots 151, other types of location adjusters can be used. Such location adjusters can include, for example, springs, moldable material, hooks, screws or other features, as will be understood by persons in the art.

FIG. 9 shows an elliptical sectional shaped cylinder 155 attached to a rotating shaft driven by motor 131. When motor 131 rotates the shaft, an outer surface of elliptical sectional shaped cylinder 155 will cause push and release a button located adjacent to elliptical sectional shaped cylinder 155. Likewise, an elliptical sectional shaped cylinder 153 is attached to a rotating shaft driven by motor 133. When motor 133 rotates the shaft, an outer surface of elliptical sectional shaped cylinder 153 will cause push and release a button located adjacent to elliptical sectional shaped cylinder 153. Other types of button pushing technology may be used instead of elliptical sectional shaped cylinder 153 and elliptical sectional shaped cylinder 155. For example, these can include piston-type devices, devices formed by a linkage, hydraulic devices, solenoid-type devices and so on.

FIG. 10 illustrates an image that appears on the touchscreen display screen of mobile phone 103 during an exemplary calibration process. For example, the image has a simple white background with a black cross shape 201, black cross shape 202, black cross shape 203 and black cross shape 204, each displayed at one of the four corners of the touchscreen display of mobile phone 103. Robot arm subsystems 20 move so that each black cross shape is touched by stylus tip 11 and/or stylus tip 25. The operation is monitored by a robot arm controller implemented by software running on circuitry within main electronics circuit board 21 using camera lens module 9 of the mobile display monitoring camera system. For example, robot arm controller will guide stylus 11 or stylus 25 to an exact location to touch the center of the cross by a series of approximation and adjustment steps. Stylus tip 11 and stylus tip 25 can be pointed and hard for precise contact with a touchscreen or a keyboard, or stylus tip 11 and stylus tip 25 may be softer with a wider circumference, for example, to more accurately imitate a human finger.

FIG. 11 is a flow chart that illustrates logic used to calibrate movements of robot arm subsystem 20. In a step 71, an App running on mobile phone 103 will display a black cross at one of the corners of the touchscreen display of mobile phone 103. The robot arm controller direct stylus 11 or stylus 25 to be near the location of the displayed cross. In a step 73 and in a series of trial and correction steps 76, the stylus tip will finally be moved to the exact location of cross point. In a step 77, the cross will disappear and re-emerge at a different location on the touchscreen display. In a 79 step, a check is made as to whether all corners have been examined. If so, in a step 85, the mobile phone robot controller records the locations so that the robot arm controller knows the coordinates of the phone screen.

The mobile phone robot can assist a user to operate a mobile phone hands free via voice commands. The mobile display monitoring camera system is used, for example, to read the display screen of a mobile phone. After capturing the images displayed on the display screen of the mobile phone mobile display screen, computer vision and machine learning technology software are used to recognize the information displayed. Optical character recognition technology (OCR) is used to turn the texts displayed on the phone screen into actual texts. Through text-to-speech software running on main electronics circuit board 7, mobile phone robot communicates by a speaker to the user what is displayed on the screen. The mobile display monitoring camera system is also used by software running on main electronics circuit board 7 to locate fields that can be activated by touch.

For example, the computer vision and machine learning technology software runs on the electronic circuitry of the mobile phone robot. Alternatively, the computer vision and machine learning technology software is hosted external from the mobile phone robot. For example, the computer vision and machine learning technology software runs on the mobile phone or runs remotely on one or more cloud servers of cloud computing service providers. When the computer vision and machine learning technology software is hosted external from the mobile phone robot, the mobile phone robot transfers the image to the mobile phone through a wired or a wireless connection. For example, the wireless connection may be a Bluetooth connection, or a Wi-Fi connection. For example, the wired connection may be through a USB connection. For example, when the computer vision and machine learning technology software are located one or more cloud computing service providers accessible by the Internet, the mobile phone robot transfers the image through the mobile phone to one or more cloud computing service providers or the mobile phone robot transfers the image to one or more cloud computing service providers accessible by the Internet using a wireless interface such as a 4G/5G wireless data interface, a Wi-Fi interface or another type of wireless interface.

This is illustrated in FIG. 12 where mobile phone robot 1 sends captured a phone screen image to a cloud server 232 via a 4G/5G wireless link 231. After processing, the control commands along with the recognized text and voice are returned to mobile phone robot 1 via 4G/5G wireless link 231 for controlling the robot arms and producing a synthesized voice through the speaker of mobile phone robot 1.

For example, the mobile phone robot controlled by software running on main electronics circuit board 7 uses a microphone to capture commands from the user, and uses a speech-to-text software technology to perform speech-to-text operations. The commands can be entered via interaction with the touchscreen display or keyboard of the mobile phone, using robot arm subsystems 20, wireless communication (e.g., using Bluetooth or WiFi technology) or using some combination of robot arm subsystems 20 and wireless communication.

The mobile phone robot allows a versatile way to allow a user to communicate hands free with a mobile phone. The communication includes performing multi-touch entries to a mobile phone.

FIG. 13 is a simplified flowchart illustrating another way of calibrating robot arm coordinates. In a block 241, stylus tip 11 is moved to any location (x1, y1) above the touchscreen display of a mobile phone, where an x-axis and a y-axis defines the (x, y) coordinate system used by mobile phone robot. In a block 242, mobile phone robot touches the display screen at location (x1,y1). The mobile phone detects the touch at a location (X1, Y1) where an X-axis and a Y-axis defines the (X, Y) coordinate system used by the mobile phone.

In a block 243, stylus tip 11 is moved above any second location (x2, y2) above the touchscreen display of the mobile phone. In a block 244, mobile phone robot touches the display screen at location (x2, y2). The mobile phone detects the touch at a location (X2, Y2).

In a block 245, a linear transformation function is computed based on the values of (x1, y1), (X1, Y1), (x2, y2) and (X2, Y2). The linear transformation function provides for a linear transformation between the (x, y) coordinate system used by the mobile phone robot and the (X, Y) coordinate system used by the mobile phone. Any of the well-known techniques to solve the linear equations can be used to solve for the linear transformation function.

In a block 246, the linear transformation is used so that for location (X3, Y3) on the mobile phone display, the location (x3, y3) on the mobile phone robot can be computed.

FIG. 14 is a simplified diagram illustrating the calibration described in FIG. 13. The (x, y) coordinate system used by the mobile phone robot is defined by an x-axis 301 and a y-axis 305. The (X, Y) coordinate system used by the mobile phone robot is defined by an X-axis 303 and a Y-axis 307. A point 311, has coordinates (x1, y1) in the (x, y) coordinate system used by the mobile phone robot and has coordinates (X1, Y1) in the (X, Y) coordinate system used by the mobile phone display. Likewise, a point 309, has coordinates (x2, y2) in the (x, y) coordinate system used by the mobile phone robot and has coordinates (X2, Y2) in the (X, Y) coordinate system used by the mobile phone display.

In an alternative implementation, instead of or in addition to the smart camera system fixed inside upper body 51 that includes camera lens module 9, a screen mirror technology that is used by a mobile phone can be added to the mobile phone robot to allow the mobile phone robot to communicate with the screen mirror technology within the mobile phone and to obtain images of the display of the mobile phone. For example, in phones using the Android operating system, Miracast technology can be used to obtain the display information. Miracast technology is native in Android devices. Including matching screen mirror technology within the mobile phone robot allows the mobile phone robot to obtain display information from an Android smart phone without use of a separate smart camera system.

Likewise, in phones using the IOS operating system, Airplay technology can be used to obtain the display information. Airplay technology is native in IOS devices. Including matching screen mirror technology within the mobile phone robot allows the mobile phone robot to obtain display information from a IOS smart phone without use of a separate smart camera system.

Although the present invention has been described in accordance with the embodiments shown, one of ordinary skill in the art will readily recognize that there could be variations to the embodiments, and those variations would be within the spirit and scope of the present invention. Accordingly, many modifications may be made by one of ordinary skill in the art without departing from the spirit and scope of the appended claims. 

What is claimed is:
 1. A mobile phone robot able to perform multi-touch operations on a mobile phone, the mobile phone robot, comprising: a fastener that holds a mobile phone stationary relative to the mobile phone robot; a first robot arm subsystem that controls location and timing of contact of a first stylus tip with a touchscreen or a keyboard of the mobile phone; a second robot arm subsystem that controls location and timing of contact of a first stylus tip with a touchscreen or a keyboard of the mobile phone; screen mirroring technology used to capture images displayed by the mobile phone; a speaker; a microphone; and, control circuitry that controls the first robot arm subsystem and the second robot arm subsystem, the control circuitry processing the images captured by the screen mirroring technology to detect text displayed within the image and to detect layout of the image; wherein the control circuitry performs speech to text translation to receive commands from a user to perform multi-operations touch that are performed by the first robot arm subsystem and the second robot arm subsystem.
 2. A mobile phone robot as in claim 1, additionally comprising a motor placed on a side of the mobile phone that rotates a shaft to depress a button on the side of the mobile phone.
 3. A mobile phone robot as in claim 1, additionally comprising: a motor placed on a side of the mobile phone that rotates a shaft to depress a button on the side of the mobile phone, position of the motor relative to the mobile phone being adjustable.
 4. A mobile phone robot as in claim 1, additionally comprising: a first motor used to depress a first button on a first side of the mobile phone; and, a second motor used to depress a second button on a second side of the mobile phone, the first side being opposite the second side.
 5. A mobile phone robot as in claim 1, additionally comprising a motor placed on a side of the mobile phone that rotates an elliptical shape to depress a button on the side of the mobile phone.
 6. A mobile phone robot as in claim 1, wherein software running on the control circuitry uses the images captured by the screen mirroring technology to configure movement of the first robot arm subsystem and the second robot arm subsystem.
 7. A mobile phone robot as in claim 1, wherein software running on the control circuitry determines locations of points of a display of the mobile phone, the locations of the points of the mobile phone being used to perform a linear transform between coordinates used by the coordinates used by the mobile phone robot and coordinates used by the display of the mobile phone.
 8. A mobile phone robot as in claim 1, wherein software running on a cloud server uses the images captured by the screen mirroring technology to configure movement of the first robot arm subsystem and the second robot arm subsystem.
 9. A mobile phone robot as in claim 1, wherein software running on a cloud server determines locations of points of a display of the mobile phone, the locations of the points of the mobile phone being used to perform a linear transform between coordinates used by the coordinates used by the mobile phone robot and coordinates used by the display of the mobile phone.
 10. A method by which a mobile phone robot performs multi-touch operations on a mobile phone, the method, comprising: holding a mobile phone stationary relative to the mobile phone robot; using a first robot arm subsystem to controls location and timing of contact of a stylus tip with a touchscreen of the mobile phone; using a second robot arm subsystem to control location and timing of contact of a stylus tip with a touchscreen of the mobile phone; using screen mirroring technology to capture images displayed by the mobile phone; and using control circuitry to control the first robot arm subsystem and the second robot arm subsystem, including: processing the images captured by the screen mirroring technology to detect text displayed within the image and to detect layout of the image, and performing speech to text translation to receive commands from a user to perform multi-operations touch that are performed by the first robot arm subsystem and the second robot arm subsystem.
 11. A method as in claim 10, additionally comprising: positioning a motor on a side of the mobile phone so that rotating a shaft depresses a button on the side of the mobile phone.
 12. A method as in claim 10, additionally comprising: positioning a first motor on a first side of the mobile phone so as to allow movement of the motor to depress a first button on the first side of the mobile phone; and, positioning a second motor on a second side of the mobile phone so as to allow movement of the motor to depress a second button on the second side of the mobile phone.
 13. A method as in claim 10, additionally comprising: positioning a motor on a side of the mobile phone so that rotating an elliptical shape depresses a button on the side of the mobile phone.
 14. A method as in claim 10, additionally comprising: using the images captured by the screen mirroring technology to configure movement of the first robot arm subsystem and the second robot arm subsystem.
 15. A method as in claim 10, additionally comprising: calibrating a first coordinate system used by the mobile home robot with a second coordinate system used by the touchscreen of the mobile phone, including: touching the stylus tip onto the touchscreen of the mobile phone at a first location in the first coordinate system to obtain coordinate values of the first location in the second coordinate system that corresponds to coordinate values of the first location in the first coordinate system, touching the stylus tip onto the touchscreen of the mobile phone at a second location in the first coordinate system to obtain coordinate values of the second location in the second coordinate system that corresponds to coordinate values of the first location in the first coordinate system, and, calculating a linear transformation between the first coordinate system and the second coordinate system using the coordinate values of the first location in the first coordinate system, the coordinate values of the second location in the first coordinate system, the coordinate values of the second location in the first coordinate system and the coordinate values of the second location in the second coordinate system.
 16. A method to configure a mobile phone robot able to perform multi-touch operations on a mobile phone, method comprising: touching a stylus tip of the mobile phone robot onto a display of the mobile phone at a first location in a first coordinate system used by the mobile home robot to obtain coordinate values of the first location in a second coordinate system that corresponds to coordinate values of the first location in a second coordinate system used by the display of the mobile phone robot; touching the stylus tip onto the display of the mobile phone at a second location in the first coordinate system to obtain coordinate values of the second location in the second coordinate system that corresponds to coordinate values of the first location in the first coordinate system; and, calculating a linear transformation between the first coordinate system and the second coordinate system using the coordinate values of the first location in the first coordinate system, the coordinate values of the second location in the first coordinate system, the coordinate values of the second location in the first coordinate system and the coordinate values of the second location in the second coordinate system. 